package com.waikuai.shop.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.waikuai.shop.common.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 额度卡实体类
 * @author waikuai
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("gift_cards")
public class WelfareCard extends BaseEntity {

    /**
     * 卡号
     */
    @TableField("card_number")
    private String cardNumber;

    /**
     * 卡密码
     */
    @TableField("card_password")
    private String cardPassword;

    /**
     * 卡面额
     */
    @TableField("amount")
    private BigDecimal amount;

    /**
     * 状态：0-未发放，1-已发放，2-已兑换，3-已过期
     */
    @TableField("status")
    private Integer status;

    /**
     * 绑定用户ID
     */
    @TableField("user_id")
    private Long userId;

    /**
     * 批次号（用于批量管理）
     */
    @TableField("batch_no")
    private String batchNo;

    /**
     * 发放时间
     */
    @TableField("issue_time")
    private LocalDateTime issueTime;

    /**
     * 兑换时间
     */
    @TableField("redeem_time")
    private LocalDateTime redeemTime;

    /**
     * 过期时间
     */
    @TableField("expire_time")
    private LocalDateTime expireTime;

    /**
     * 绑定用户信息（非数据库字段）
     */
    @TableField(exist = false)
    private User user;
}